/*
Copyright [2020] [https://www.xiaonuo.vip]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

XiaoNuo采用APACHE LICENSE 2.0开源协议，您在使用过程中，需要注意以下几点：

1.请不要删除和修改根目录下的LICENSE文件。
2.请不要删除和修改XiaoNuo源码头部的版权声明。
3.请保留源码和相关描述文件的项目出处，作者声明等。
4.分发源码时候，请注明软件出处 https://gitee.com/xiaonuobase/xiaonuo-vue
5.在修改包名，模块名称，项目代码等时，请注明软件出处 https://gitee.com/xiaonuobase/xiaonuo-vue
6.若您的项目无法满足以上几点，可申请商业授权，获取XiaoNuo商业授权许可，请在官网购买授权，地址为 https://www.xiaonuo.vip
 */
package com.cn.xiaonuo.slbfinances.slborders.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;

/**
 * 订单信息
 *
 * @author 卢阳阳
 * @date 2021-03-05 18:33:25
 */
@Data
@TableName("sl_order")
public class SlOrder implements Serializable {

    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 订单编号
     */
    private String serialNumber;

    /**
     * 打包购物编号（yyyy-MM-dd HH:mm+RandomStringGenerator类生成随机数）
     */
    private String shoppingCartNumber;

    /**
     * 用户唯一标识符
     */
    private Integer userId;

    /**
     * PayPal付款ID
     */
    private String payId;

    /**
     * 订单总金额,现金部分
     */
    private BigDecimal totalAmount;

    /**
     * 购物劵总额-和平村购物卷
     */
    private BigDecimal totalGwj;

    /**
     * 国甄购物卷
     */
    private BigDecimal totalGzGwj;

    /**
     * 总slb
     */
    private BigDecimal totalSlb;

    /**
     * 总兑礼券
     */
    private BigDecimal totalDjj;

    /**
     * 总积分
     */
    private BigDecimal totalIntegral;

    /**
     * 0：支付失败 1：支付成功 2：待支付 3：线下已付款 102：申请售后
     */
    private Integer paymentState;

    /**
     * 1微信,2支付宝5线下付款10购物劵,11支付宝+购物劵,12微信+购物劵,15微信+线下支付;16支付宝+线下支付 17.银联 18.银联+购物券 101.好收银支付宝 102.好收银微信 103.好收银云闪付
     */
    private Integer paymentChannel;

    /**
     * 支付时间
     */
    private String payTime;

    /**
     * 支付时间戳
     */
    private Long payTimeStamp;

    /**
     * 记录状态 1:正常 0:删除
     */
    private Integer status;

    /**
     * 收件人姓名
     */
    private String consigneename;

    /**
     * 收件人电话
     */
    private String consigneephone;

    /**
     * 收件人省地址
     */
    private String province;

    /**
     * 收件人市地址
     */
    private String city;

    /**
     * 收件人区地址
     */
    private String county;

    /**
     * 收件人详细地址
     */
    private String detailed;

    /**
     * 最后更新时间
     */
    private Timestamp updatedAt;

    /**
     * 1直接购买,2发起求购，3匀贸普通购买，4匀贸动感地带,100库存不足,101购物券不足
     */
    private String remark;

    /**
     * 村长ID（sl_admin_user表外键）
     */
    private Integer villageHeadUserid;

    /**
     * 村长结算状态(0待结算 1已经结算)
     */
    private Integer villageHeadState;

    /**
     * 片区客服人员ID（sl_admin_user表外键）
     */
    private Integer serviceUserid;

    /**
     * 片区客服结算状态（0 待结算 1已经结算）
     */
    private Integer serviceState;

    /**
     * 抽成收益(现金部分)
     */
    private BigDecimal commission;

    /**
     * 抽成收益（购物券部分）
     */
    private BigDecimal gwjCommission;

    /**
     * 是否自提:0否1是
     */
    private String wlStatus;

    /**
     * 是否是一号专区订单，0不是，1是，默认值0
     */
    private Integer oneType;

    /**
     * 是否已抽奖:0否1是
     */
    private Integer ldState;

    /**
     * 创建时间
     */
    private String createTime;

    /**
     * 汇率
     */
    private BigDecimal rate;

    /**
     * 根据汇率计算后的金额
     */
    private BigDecimal camount;

    /**
     * 订单归属的运营中心
     */
    private Integer operateId;

    /**
     * 币种
     */
    private String currency;

    /**
     * 线下扫码:0默认值1商家扫客户2客户扫商家
     */
    private Integer scanType;

    /**
     * 主订单编号
     */
    private String orderNumber;
}
